package com.shangguosha.core.event;

import com.shangguosha.model.Card;
import com.shangguosha.model.Character;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 卡牌相关事件
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class CardEvent extends GameEvent {
    private Card card;
    private Character player;
    private Character target;
    private Object data;
    
    public CardEvent(String eventType, Object source, Card card) {
        super(eventType, source);
        this.card = card;
    }
    
    public CardEvent(String eventType, Object source, Card card, Character player) {
        super(eventType, source);
        this.card = card;
        this.player = player;
    }
    
    public CardEvent(String eventType, Object source, Card card, Character player, Character target) {
        super(eventType, source);
        this.card = card;
        this.player = player;
        this.target = target;
    }
    
    public CardEvent(String eventType, Object source, Card card, Character player, Character target, Object data) {
        super(eventType, source);
        this.card = card;
        this.player = player;
        this.target = target;
        this.data = data;
    }
}